<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>具名插槽</title>
        <script src="../public/vue2.7.14-dev.js"></script>
    </head>
    <body>
        <div id="app">
            <base-layout>
                <template v-slot:header>
                    <h1>Here might be a page title</h1>
                </template>

                <p>A paragraph for the main content.</p>
                <p>And another one.</p>

                <template v-slot:footer>
                    <p>Here's some contact info</p>
                </template>
            </base-layout>
        </div>

        
        <script>
        /* 
        1.<slot> 元素有一个特殊的 attribute：name。这个 attribute 可以用来定义额外的插槽 
        2.一个不带 name 的 <slot> 出口会带有隐含的名字“default”
        3.注意 v-slot 只能添加在 <template> 上    
        */
        Vue.component('base-layout',{
            template:`
            <div class="container">
            <header>
                <slot name="header"></slot>
            </header>
            <main>
                <slot></slot>
            </main>
            <footer>
                <slot name="footer"></slot>
            </footer>
            </div>
            `,
            props:['url']
        })

        new Vue({
            el:'#app',
            data(){
                return{
                    name:"xiaoyu"
                }
            }
        })
    </script>
    </body>
</html>